#pragma once



class IocpFiber;

struct IocpOperation
{
	enum Reason
	{
		Io, Init, Other
	};

	IocpOperation();
	IocpOperation(Reason reason, IocpFiber* destination);
	IocpOperation(Reason reason,  IocpFiber* destination, bool async);
	void InitOverlapped();

public:
	OVERLAPPED m_overlapped;
	Reason m_reason;
	IocpFiber* m_destination;
	bool m_isAsync;
};